﻿using Onshi.POS.Modelo.Entidades.Tipos;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Onshi.POS.Modelo.Entidades
{
    [Serializable]
    public class DomicilioBase : EntidadBase<Int32>
    {
        #region Constructores

        public DomicilioBase()
        {
        }

        #endregion

        #region Atributos

        private String calle;
        private String numero;
        private String piso;
        private String departamento;
        private String observaciones;
        private TipoDomicilio tipo;
        private Barrio barrio;

        #endregion

        #region Propiedades

        public Barrio Barrio
        {
            get { return barrio; }
            set { barrio = value; }
        }

        public Localidad Localidad
        {
            get { return barrio.Localidad; }
        }

        public TipoDomicilio Tipo
        {
            get { return tipo; }
            set { tipo = value; }
        }

        public String Observaciones
        {
            get { return observaciones; }
            set { observaciones = value; }
        }

        public String Departamento
        {
            get { return departamento; }
            set { departamento = value; }
        }

        public String Piso
        {
            get { return piso; }
            set { piso = value; }
        }

        public String Numero
        {
            get { return numero; }
            set { numero = value; }
        }

        public String Calle
        {
            get { return calle; }
            set { calle = value; }
        }

        public String BarrioNombre
        {
            get { return barrio.Nombre; }
        }

        public String LocalidadNombre
        {
            get { return Localidad.Nombre; }
        }

        public String TipoNombre
        {
            get { return tipo.Nombre; }
        }

        public String DomicilioCompleto
        {
            get { return String.Format("{0} {1} {2} {3}", calle, numero, piso, departamento).Trim(); }
        }

        #endregion
    }
}
